/* eslint valid-jsdoc: "off" */

'use strict';

/**
 * @param {Egg.EggAppInfo} appInfo app info
 */
module.exports = appInfo => {
  /**
   * built-in config
   * @type {Egg.EggAppConfig}
   **/
  const config = exports = {};
  // use for cookie sign key, should change to your own and keep security
  config.keys = appInfo.name + '_1650074913081_5503';

  // add your middleware config here
  config.middleware = [

  ];

  // add your user config here
  const userConfig = {
    // myAppName: 'egg',
  };
  // config/config.${env}.js
  config.mysql = {
    // 单数据库信息配置
    client: {
      // host
      host: 'localhost',
      // 端口号
      port: '3306',
      // 用户名
      user: 'root',
      // 密码
      password: '888666zp',
      // 数据库名
      database: 'bolg',
    },
    // 是否加载到 app 上，默认开启
    app: true,
    // 是否加载到 agent 上，默认关闭
    agent: false,
  };

  //安全配置
  config.security = {
    csrf: {
      enable: false,
    },
    // 跨域白名单
    domainWhiteList: ['*']

  };

  //跨域配置
  config.cors = {
    // origin: 'http://localhost:3000',
    credentials: true, //允许cook可以跨域
    allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH,OPTIONS'
  };


  //路由守卫
  // config.jwt = {
  //   match(ctx) { // 只匹配指定路由，反之如果只忽略指定路由，可以用ignore
  //     //匹配不需要验证token的路由
  //     const url = ctx.request.url;
  //     if (url.startsWith('/login')) {
  //       // ctx.logger.info('config.tokenHandler:','关闭token验证')
  //       return false;
  //     } else {
  //       // ctx.logger.info('config.tokenHandler:','开启token验证')
  //       return true; // 开启中间件，开启token验证
  //     }
  //   }
  // }
  
  return {
    ...config,
    ...userConfig,
  };
};


